Traditional approaches to edge detection consist of a single light source illuminating a single light detector across a path that is interrupted by the edge of the object. For use in electronic systems, it is necessary to define a light level threshold by which the location of the edge will be judged. Because of the variations in the transfer efficiencies from the input current of the light source to the output current of the sensor, this threshold is necessarily different from one device to another. The result is a cost problem, and perhaps a reliability problem. Also, since optical systems tend to vary over time, a system which works well during assembly may drift over time and/or temperature, thus causing a change in accuracy or a failure to recognize the edge entirely.